-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add retry for docker pull to deal with occasional errors from ghcr #111
Conversation
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Closing and re-opening to trigger the DCO check again |
Tried draft/un-draft too. Think we might need a comment based confirmation of DCO in this case. |
internal/stacks/stack_manager.go
Outdated
if err := docker.RunDockerComposeCommandWithRetry(workingDir, verbose, verbose, "pull"); err != nil { | ||
return err | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We already do a pull (if --no-pull
is not set) here:
firefly-cli/internal/stacks/stack_manager.go
Lines 487 to 492 in e645f53
if !options.NoPull { | |
s.Log.Info("pulling latest versions") | |
if err := docker.RunDockerComposeCommand(workingDir, verbose, verbose, "pull"); err != nil { | |
return err | |
} | |
} |
Should we just change that existing call to RunDockerComposeCommandWithRetry
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Aha, this is a great point… but what it points at (which I totally missed) is the problem is the e2e test is doing a no-pull 🤦♂️
So 👍 to moving the retry on the existing pull, but it means this won’t actually fix the issue.
We might need to punt this to after your manifest work, and have a new behavior for the e2e test where it no long specifies no-pull, but instead uses a different (local) image name.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've made the change on this PR, and am up for working on the follow-on change to generate a special manifest in the e2e test code once the manifest work is ready
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
My earlier assertion that the This leaves us in a bit of a quandary (as many others on that thread are).
The latter worries me, because it could cause us to miss actual startup error conditions like hyperledger/firefly#254 |
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
Ok - think this latest approach does what we need
Then a small tweak to the E2E is to do a |
Signed-off-by: Peter Broadhurst <peter.broadhurst@kaleido.io>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Thanks for this!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested this version of the CLI with the corresponding core PR hyperledger/firefly#251 and all E2E tests passed locally! 😃
Split
docker-compose pull
into a separate step with retries, as a simple way to address hyperledger/firefly#244